home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Nordlicht Spiele / Nordlicht Spiele 24-08 (19xx)(Nordlicht)(DE)(PD).zip / Nordlicht Spiele 24-08 (19xx)(Nordlicht)(DE)(PD).adf / Editor-ASC < prev    next >
Text File  |  1993-07-13  |  6KB  |  182 lines

  1. '
  2. ' Pacman screen designer V2.0 (C) Tony Brice. 8th July 1993.
  3. '
  4. ' Asc text saved 13th July 1993.
  5. '
  6. Cls 8
  7. Dim MAPDATA(12,18)
  8. Gosub MAZE
  9. Goto SETUP
  10. MAZE:
  11. Restore 
  12. For A=0 To 12 : For B=0 To 18 : Read MAPDATA(A,B) : MAPDATA(A,B)=MAPDATA(A,B)+21
  13. Next B : Next A : S$="*" : Return 
  14. Data 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
  15. Data 2,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,2
  16. Data 2,3,2,2,2,2,3,2,3,2,3,2,3,2,2,2,2,3,2
  17. Data 2,4,3,2,3,3,3,2,3,2,3,2,3,3,3,2,3,4,2
  18. Data 2,2,3,3,3,2,3,3,3,3,3,3,3,2,3,3,3,2,2
  19. Data 2,2,2,2,2,2,3,2,1,1,1,2,3,2,2,2,2,2,2
  20. Data 1,3,3,3,3,3,3,2,1,1,1,2,3,3,3,3,3,3,1
  21. Data 2,2,2,2,2,2,3,2,2,2,2,2,3,2,2,2,2,2,2
  22. Data 2,2,3,3,3,2,3,2,3,1,3,2,3,2,3,3,3,2,2
  23. Data 2,4,3,2,3,3,3,2,3,2,3,2,3,3,3,2,3,4,2
  24. Data 2,3,2,2,2,2,3,2,3,2,3,2,3,2,2,2,2,3,2
  25. Data 2,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,2
  26. Data 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
  27. MAZE2:
  28. For A=1 To 11 : For B=0 To 18 : MAPDATA(A,B)=22 : Next B : Next A : S$="*" : Return 
  29. SETUP:
  30. Screen Open 2,320,20,16,Lowres
  31. Curs Off : Flash Off : Hide : Cls 0 : Ink 2 : Paper 0
  32. Y=8 : X=9 : CX=144 : CY=128 : A$="d" : Gosub HELPTEXT
  33. SEEMAP:
  34. Screen Open 1,320,224,16,Lowres
  35. Pen 0 : Paper 0 : Cls 0 : Curs Off : Flash Off : Get Sprite Palette 
  36. Screen Display 1,,70,, : Update Off : Update : Autoback 0
  37. Screen Hide 1 : Screen 1 : CC=1 : DD=1
  38. Gosub SEESTAT
  39. ICONY=0
  40. For A=0 To 12
  41. ICONX=0
  42. For B=0 To 18
  43. Paste Bob ICONX,ICONY,MAPDATA(A,B)
  44. Add ICONX,16
  45. Next B
  46. Add ICONY,16
  47. Next A
  48. Bob 2,144,128,2
  49. Bob 3,127,95,5
  50. Bob 4,142,95,6
  51. Bob 5,160,95,7
  52. Double Buffer : Screen Show 1 : Gosub DISPLAY
  53. CONTROL:
  54. A$=Inkey$ : If A$="" Then Goto CONTROL
  55. If A$="Q" Then Screen Close 1 : Screen Close 2 : Screen Close 3 : Edit 
  56. If Scancode=95 Then Gosub HELP
  57. ZZ=Asc(A$) : If ZZ=27 Then Goto STORESCREEN
  58. If ZZ=29 Then X=X-1 : CX=CX-16 : Gosub DISPLAY
  59. If X<0 Then X=18 : CX=CX+(19*16) : Gosub DISPLAY
  60. If ZZ=28 Then X=X+1 : CX=CX+16 : Gosub DISPLAY
  61. If X>18 Then X=0 : CX=CX-(19*16) : Gosub DISPLAY
  62. If ZZ=30 Then Y=Y-1 : CY=CY-16 : Gosub DISPLAY
  63. If Y<0 Then Y=12 : CY=CY+(13*16) : Gosub DISPLAY
  64. If ZZ=31 Then Y=Y+1 : CY=CY+16 : Gosub DISPLAY
  65. If Y>12 Then Y=0 : CY=CY-(13*16) : Gosub DISPLAY
  66. If A$="l" Then Goto LMAP
  67. If A$="s" Then Gosub SMAP : Gosub DISPLAY
  68. If A$="c" Then CC=CC+1 : If CC>3 Then CC=1 : Goto CLEAR
  69. If A$="d" Then DD=DD+1 : If DD>3 Then DD=1 : Goto DFAULT
  70. If A$="h" Then CX=0 : CY=0 : X=0 : Y=0 : Gosub DISPLAY : Goto CONTROL
  71. If A$="1" Then Z=23 : Goto SELECT
  72. If A$="2" Then Z=24 : Goto SELECT
  73. If A$="3" Then Z=25 : Goto SELECT
  74. If A$=" " Then Z=22 : Goto SELECT
  75. Goto CONTROL
  76. SELECT:
  77. Paste Bob CX,CY,Z : MAPDATA(Y,X)=Z
  78. Gosub DISPLAY : Goto CONTROL
  79. DISPLAY:
  80. Bob 1,CX,CY,19 : Update 
  81. Screen 2 : Cls 0
  82. Locate 0,0 : Print "X-position:";X;"  Y position:";Y;"  SCRN(";S$;")";" ";
  83. Locate 0,1 : Print "  Press Help for Keys or SH-Q to quit";
  84. Screen 1 : Return 
  85. SELECTFILE:
  86. Screen 2 : Cls 0
  87. Locate 0,0 : Print "     Select a letter file (K to T)";
  88. Locate 0,1 : Print "      Press 1 to return to Editor";
  89. SL:
  90. J$=Inkey$ : If J$="" Then Goto SL
  91. If J$="1" Then Return 
  92. S=Asc(J$) : If S<107 or S>116 Then Goto SL
  93. FILE$="df0:maps/map-data"+J$ : S$=J$
  94. Return 
  95. LMAP:
  96. Gosub SELECTFILE : If J$="1" Then Gosub DISPLAY : Goto CONTROL
  97. Screen Hide 1 : Gosub SEESTAT
  98. Open In 1,FILE$
  99. For T=0 To 12 : For G=0 To 18
  100. Input #1,MAPDATA(T,G)
  101. Next G : Next T
  102. Input #1,PL
  103. Close : Screen Close 1 : Goto SEEMAP
  104. SMAP:
  105. Gosub SELECTFILE : If J$="1" Then Gosub DISPLAY : Return 
  106. Gosub SEESTAT : Gosub COUNTING
  107. Open Out 2,FILE$
  108. For T=0 To 12 : For G=0 To 18
  109. Print #2,MAPDATA(T,G) : Next G : Next T
  110. Print #2,PL
  111. Close : Return 
  112. CLEAR:
  113. Gosub SEESTAT : Gosub MAZE : Gosub MAZE2 : Screen Close 1 : Goto SEEMAP
  114. DFAULT:
  115. Gosub SEESTAT : Gosub MAZE : Screen Close 1 : Goto SEEMAP
  116. SEESTAT:
  117. Screen 2 : Cls 0
  118. If A$="l" Then Print "       Loading data - Please wait."
  119. If A$="d" Then Print "     Creating default - Please wait."
  120. If A$="s" Then Print "        Saving data. Please wait."
  121. If A$="c" Then Print "      Clearing screen. Please wait."
  122. Screen 1 : Return 
  123. HELP:
  124. Screen Hide 1 : Screen Hide 2 : Screen Show 3
  125. HELL:
  126. XX$=Inkey$
  127. If XX$="Q" Then Screen Close 1 : Screen Close 2 : Screen Close 3 : Edit 
  128. If Scancode=95 Then Screen Hide 3 : Screen Show 1 : Screen Show 2 : Return 
  129. Goto HELL
  130. HELPTEXT:
  131. Screen Open 3,320,227,16,Lowres
  132. Paper 2 : Cls 2 : Curs Off 
  133. Screen Hide 3
  134. Pen 1 : Print "  ------------------------------------"
  135. Print "  Pacman Map editor - V2.0 by T.Brice."
  136. Print "  ------------------------------------"
  137. Locate ,4 : Pen 3 : Centre "Help screen"
  138. Locate ,5 : Pen 1 : Centre "-----------"
  139. Pen 4 : Locate 0,7
  140. Print "Keys: 1-wall, 2-dot & 3-PowerPill. Space";
  141. Print "clears the current square and using the"
  142. Print "arrow keys will move the cursor box ....";
  143. Print : Pen 5
  144. Print "   Press H to send cursor to top left."
  145. Print "    Press C 3 times to clear screen."
  146. Print " Press D 3 times to load default screen."
  147. Pen 6 : Print "   Press Shift & Q to quit the editor."
  148. Print : Pen 7
  149. Print "Each file saves out the screen data and"
  150. Print "the number of pills at the end of the"
  151. Print "file. The data is saved in the maps dir"
  152. Print "of the source disk and has a letter code";
  153. Print "at the end."
  154. Print : Pen 9
  155. Print "Press Escape to save all screens as bank";
  156. Print "     Press Help to return to editor";
  157. Return 
  158. COUNTING:
  159. T=0 : For A=0 To 12 : For B=0 To 18
  160. If MAPDATA(A,B)=3 Then T=T+1
  161. Next B : Next A : PL=T : Return 
  162. STORESCREEN:
  163. Reserve As Work 2,4320 : Screen Close 1 : Screen Close 3
  164. Screen 2 : Cls 0 : Pen 2 : Paper 0
  165. FF$="abcdefghijklmnopqrst"
  166. Locate 0,1 : Print "Converting maps to bank 2. Please wait!"
  167. For S=0 To 19
  168. POSITION=Start(2)+(S*247)
  169. FILE$="df0:maps/map-data"
  170. FILE$=FILE$+Mid$(FF$,S+1,1)
  171. Open In 1,FILE$
  172. For A=0 To 12
  173. For B=0 To 18
  174. Input #1,MAPDATA(A,B)
  175. Poke POSITION+A*19+B,MAPDATA(A,B)
  176. Next B : Next A
  177. Input #1,PL
  178. Close 1 : Next S
  179. Cls 0 : Locate 0,1 : Print "Saving data as Map-data.WORK to bank 2"
  180. Save "df0:Map-data.WORK",2
  181. Edit 
  182.